<?php

//防止恶意调用
if (!defined('IN_MOD'))
{
    die('Hacking attempt');
}

use think\Db;

// 商家登录后台 会员登录后访问直接登录供应商后台
if($hookblock == "memberloginsupplier")
{
	// 会员登录后台 当前登录用户为商家会员时直接进入商家后台设置商家权限
	$autologinok = $this->request->param("autologinok");
	if($autologinok == 1)
	{
		$userId = cmf_get_current_user_id();// 前台用户登录ID
		if($userId)
		{
			$user = Db::name('user')->where(['id' => $userId])->find();
			
			// 当前用户类型为商家会员时
			if($user['user_type'] == 2)
			{	
				// 商家会员入驻审核通过时
				if($user['supplier_status'] == 1)
				{		
					// 设置扩展商家登录SESSION
					$user = Db::name('user')->where(['id' => $userId])->find();
					session('ADMIN_ID', $user['id']);
					session("__LOGIN_BY_CMF_ADMIN_PW__", null);// 登录成功后清空后台登录加密码
					session('name', $user["user_login"]);

					// 设置sessionid通过下面登录供应商后台设置商家权限
					$session_admin_id = session('ADMIN_ID');
				}else{
					$modulehook = "expsupplier";$hookblock = "platformadminqx";require(PLUGINS_PATH . 'modulepara/config/modulehook.php');
				}
			}
		}
	}
	
	// 商家登录后台 会员通过登录供应商后台设置商家权限
	if(!empty($session_admin_id))
	{
		$user = Db::name('user')->where(['id' => $session_admin_id])->find();
		
		// 当前用户类型为商家会员时
		if($user['user_type'] == 2)
		{
			// 商家会员入驻审核通过时
			if($user['supplier_status'] == 1)
			{
				// 获取商家登录后台管理权限
				global $hook_supplierexpok,$hook_supplierexpuid;	
				$hook_supplierexpok = 1;
				$hook_supplierexpuid = $user['id'];	
			}else{
				$modulehook = "expsupplier";$hookblock = "platformadminqx";require(PLUGINS_PATH . 'modulepara/config/modulehook.php');
			}
		}
	}
	
	// 商家会员登录成功时
	if($hook_supplierexpok == 1)
	{
		// 设置商家访问总平台后台权限，商家用户访问平台总后台地址时强制退出，并清空SESSION
		if($this->request->module() == "admin") {
			$modulehook = "expsupplier";$hookblock = "platformadminqx";require(PLUGINS_PATH . 'modulepara/config/modulehook.php');
		}
		
		// 商家会员基本权限组配置
		$roleuser = Db::name('role_user')->where(['user_id' => $hook_supplierexpuid])->find();
		// 商家基本权限用户组不存在时自动插入基本权限配置数据
		if(empty($roleuser))
		{
			$roleuserdata = [];
			$roleuserdata['role_id'] = 3;
			$roleuserdata['user_id'] = $hook_supplierexpuid;
			Db::name('role_user')->insert($roleuserdata);
		}
	}
}

// 设置商家模块访问权限，商家无访问模块权限时强制退出，并清空SESSION
if($hookblock == "platformadminqx")
{
	session('ADMIN_ID', null);// 清空SESSION 退出后台
	// 退出后必需设置，否则无法访问登录界面，设置后才可以登录，登录成功后清空，因为不需要登录了
	session("__LOGIN_BY_CMF_ADMIN_PW__", 1);//设置后台登录加密码
	$modulehook = "errortip";$tipcontent = "非法操作！您无权访问或模块不存在！";require(PLUGINS_PATH . 'modulepara/config/modulehook.php');// 调用系统提示钩子
	echo "<script>top.location.href='/';</script>";// 跳出框架
	exit();
}

?>